package com.ptu.spzx.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.github.pagehelper.PageInfo;
import com.ptu.spzx.domain.Class.Classes;
import com.ptu.spzx.domain.Class.dto.ClassPageDto;
import com.ptu.spzx.domain.Class.dto.ClassesDTO;
import com.ptu.spzx.domain.Delete.DeleteIds;
import com.ptu.spzx.model.entity.user.UserInfo;

import java.util.List;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author YT
 * @since 2024-01-28
 */
public interface IClassesService extends IService<Classes> {
    void updateClass(ClassesDTO classesDTO);


    void deleteBatchClassByIds(DeleteIds deleteIds);


    void addClass(ClassesDTO classesDTO);

    PageInfo<Classes> findByPage(Integer pageNum, Integer pageSize, ClassPageDto classPageDto);

    PageInfo<UserInfo> findAllStuByClass(List<Long> classIds, Integer pageNum, Integer pageSize);

    PageInfo<UserInfo> findAllStuByCourse(List<Long> courseIds, Integer pageNum, Integer pageSize);

    PageInfo <UserInfo> findAllStuByExam(Long examId, Integer pageNum, Integer pageSize);

    PageInfo<Classes> getClassByCourseId(Long courseId, Integer pageNum, Integer pageSize);
}
